//package generator;
//
//import com.server.meta.ClassMeta;
//import com.server.meta.FieldMeta;
//import com.server.meta.MyAnnotation;
//import com.server.util.JsUIUtils;
//import com.server.util.PackageScan;
//
//import java.lang.reflect.Field;
//import java.util.*;
//
///**
// * Created with IntelliJ IDEA.
// * Busline: sunguangzhu
// * Date: 13-8-9
// * Time: 上午9:23
// * To change this template use File | Settings | File Templates.
// */
//public class WebGenerator extends Generator {
//    public WebGenerator() {
//    }
//
//    public WebGenerator(String hardDisk,String projectName) {
//        super.hardDisk=hardDisk;
//        super.projectName=projectName;
//    }
//    public void generateWebJs(String packageName, String classPackage) throws Exception {
//        Set<Class<?>> classes = PackageScan.getClasses(classPackage);
//        classes.removeAll(super.excludClasses);
//        for (Class<?> clazz : classes) {
//            ClassMeta classMeta = new ClassMeta();
//            classMeta.setLowerClassName(clazz.getSimpleName().substring(0, 1).toLowerCase() + clazz.getSimpleName().substring(1));
//            MyAnnotation classAnnotation = clazz.getAnnotation(MyAnnotation.class);
//            classMeta.setComment(classAnnotation.comments());
//            Field[] fields = clazz.getDeclaredFields();
//            classMeta.setFieldSize(fields.length);
//            List<FieldMeta> fieldMetas = new ArrayList<FieldMeta>();
//            for (Field field : fields) {
//                MyAnnotation annotation = field.getAnnotation(MyAnnotation.class);
//                FieldMeta fieldMeta = new FieldMeta();
//                fieldMeta.setRelationObject(JsUIUtils.getComplexObject(field));
//                fieldMeta.setComment(annotation.comments());
//                fieldMeta.setColumnUI(JsUIUtils.getColumnUI(field, annotation.comments(), classMeta));
//                fieldMeta.setColumnConditionUI(JsUIUtils.getColumnConditionUI(field, annotation.comments(), classMeta));
//                fieldMeta.setName(field.getName());
//                fieldMetas.add(fieldMeta);
//            }
//            classMeta.setFields(fieldMetas);
//            Map root = new HashMap();
//            root.put("bean", classMeta);
////            super.generateWebJs(root, "moduleJs3", classMeta.getLowerClassName(), classMeta.getLowerClassName());
//        }
//    }
//
//    public void generateWebJsp(String classPackage) throws Exception {
//        Set<Class<?>> classes = PackageScan.getClasses(classPackage);
//        classes.removeAll(super.excludClasses);
//        List<ClassMeta> classMetas = new ArrayList<ClassMeta>();
//        for (Class<?> clazz : classes) {
//            ClassMeta classMeta = new ClassMeta();
//            MyAnnotation classAnnotation = clazz.getAnnotation(MyAnnotation.class);
//            classMeta.setComment(classAnnotation.comments());
//            classMeta.setLowerClassName(clazz.getSimpleName().substring(0, 1).toLowerCase() + clazz.getSimpleName().substring(1));
//            Field[] fields = clazz.getDeclaredFields();
//            classMeta.setFieldSize(fields.length);
//            List<FieldMeta> fieldMetas = new ArrayList<FieldMeta>();
//            for (Field field : fields) {
//                MyAnnotation annotation = field.getAnnotation(MyAnnotation.class);
//                FieldMeta fieldMeta = new FieldMeta();
//                fieldMeta.setColumnUI(JsUIUtils.getColumnUI(field, annotation.comments(), classMeta));
//                fieldMeta.setInputUI(JsUIUtils.getInputUI(field, annotation.comments(), classMeta));
//                fieldMeta.setViewUI(JsUIUtils.getViewUI(field, annotation.comments(), classMeta));
//                fieldMeta.setName(field.getName());
//                fieldMetas.add(fieldMeta);
//            }
//            MyAnnotation annotation = clazz.getAnnotation(MyAnnotation.class);
//            classMeta.setFields(fieldMetas);
////            classMeta.setMenuUI(JsUIUtils.getMenuUI(classMeta,annotation.comments()));
//            Map root = new HashMap();
//            root.put("bean", classMeta);
//      /*      super.generateWebJsp(root, "module_index3", "index", classMeta.getLowerClassName());
//            super.generateWebJsp(root, "module_input3", "input", classMeta.getLowerClassName());
//            super.generateWebJsp(root, "module_view3", "view", classMeta.getLowerClassName());*/
////            super.generateWebJsp(root, "module_index", "index", classMeta.getLowerClassName());
//           /* super.generateWebJsp(root, "module_grid", "grid", classMeta.getLowerClassName());
//            super.generateWebJsp(root, "module_input", "input", classMeta.getLowerClassName());
//            super.generateWebJsp(root, "module_view", "view", classMeta.getLowerClassName());*/
//            classMetas.add(classMeta);
//        }
//      /*  Map index = new HashMap();
//        index.put("bean", classMetas);
//        super.generateWebIndexJsp(index, "main");*/
//    }
//}
